package com.example.demo.service;

import com.example.demo.dto.SyncSqlDto;

import java.util.List;

/**
 * ClassName:Sync_SQL
 * Package:com.example.demo.service
 * TODO: 主要做一些sql拼接工作
 *
 * @date:2021/8/28 11:25
 * @author:Vicky(陈烟星)
 */
public interface SyncSql {

    /**
     * 查询由java代码拼接sql
     * @param srcTableName
     * @param tgtTableName
     * @return
     */
    String appendSyncSql(String srcTableName,String tgtTableName);

    /**
     * 查询由java代码拼接的所有sql
     * @return
     */
    List<SyncSqlDto> appendAllSyncSql();


    /**
     * 查询由sql自己拼接的sql
     * @return
     */
    SyncSqlDto querySyncSql(String srcTableName,String tgtTableName);

    /**
     * 查询由sql自己拼接的所有sql
     * @return
     */
    List<SyncSqlDto> queryAllSyncSql();


    /**
     * 针对flink sql使用 目标表字段必须是填入
     * @param srcTableName
     * @param tgtTableName
     * @return
     */
    String genMigrateDML(String srcTableName,String tgtTableName);



    /**
     * 查询由sql自己拼接的所有sql,包含同步等级
     * @return
     */
    List<SyncSqlDto> queryDealAllSyncSql(Integer isSuse);



}
